package com.qqn.acknowledge.reflection;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Auther: LiuJiaming
 * @Date: 2025/3/25 - 03 - 25 - 下午9:43
 * @Description: com.qqn.acknowledge.reflection
 * @version: 1.0
 */
// 定义注解的使用目标（类、方法、字段等）
@Target({ElementType.FIELD,
        ElementType.CONSTRUCTOR,
        ElementType.METHOD
})
// 定义注解的保留策略（SOURCE、CLASS、RUNTIME）
@Retention(RetentionPolicy.RUNTIME)
public @interface Printable {
    // 注解可以包含元素，这里我们定义一个简单的字符串元素
    String value() default "";
}

/*
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({
    ElementType.TYPE,       // 类、接口、枚举
    ElementType.FIELD,      // 字段、枚举常量
    ElementType.METHOD,     // 方法
    ElementType.PARAMETER,  // 参数
    ElementType.CONSTRUCTOR,// 构造方法
    ElementType.LOCAL_VARIABLE, // 局部变量
    ElementType.ANNOTATION_TYPE, // 注解类型
    ElementType.PACKAGE     // 包
})
@Retention(RetentionPolicy.RUNTIME) // 指定该注解在运行时可用
public @interface Autowired {
    // 注解可以包含元素，这里我们定义一个简单的字符串元素
    String value() default "";
}
 */
